package com.example.controller;


import com.example.config.UserInfo;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;
import javax.annotation.Resources;

@Controller
public class UserController {

//     1.   属性注入
//    @Autowired//官方不推荐
//    private UserService us;


//    2.    构造方法注入
//   private UserService us;
//   private UserInfo userInfo;

//      //1无参构造函数
//    public UserController() {
//    }

   // 当添加了有参的构造函数之后就没有无参的构造函数
//    @Autowired
//    public UserController(UserService us) {
//        this.us = us;
//    }
//
//    public UserController(UserService us, UserInfo userInfo) {
//        this.us = us;
//        this.userInfo = userInfo;
//    }


//    使用@Qualifier 指定bean
//  @Qualifier("userInfo2")
//    @Autowired
//    private UserInfo userInfo;

//    使用@Resource指定bean
//@Resources(name="userInfo2")
//private UserInfo userInfo;
//    public UserController() {
//    }


//    public UserController(UserService us, UserInfo userInfo) {
//        this.us = us;
//        this.userInfo = userInfo;
//    }

  //  Setter方法注入

//    private UserService us;
//    @Autowired
//    public void setUs(UserService us) {
//        this.us = us;
//    }
    @Autowired
    private  UserService us;


    @Autowired
    private UserInfo userInfo2;
    public void doController(){
        us.doService();
        System.out.println("do Controller.....");
    }
}

